|
|
| Menu location |
|---|
| 부품 설계 → 몸통 생성 |
| Workbenches |
| 부품설계 작업대 |
| Default shortcut |
| None |
| Introduced in version |
| 0.17 |
| See also |
| 표준 부품, 특징 편집하기 |
몸통(PartDesign Body)은 부품설계 작업대를 사용하여 고체 형상을 생성하기 위한 기본 요소입니다. 여기에는 단일 연속 솔리드를 만드는 데 도움이 되는 스케치, 기준도형 및 도형특징이 포함될 수 있습니다
몸통은 로컬 X, Y, Z 축과 표준 평면을 포함하는 Origin 개체를 제공합니다. 이러한 요소는 스케치 및 PartDesign_CompPrimitiveAdditive를 첨부하기 위한 참조로 사용할 수 있습니다.
몸통을
표준 부품과 혼동하지 마십시오. 몸통은
부품설계 작업대에서 사용되는 것이며, 도형특징을 통해 단일 연속 고체를 모델링하기 위한 것입니다. 표준 부품은 조립품을 생성하기 위한 그룹화 개체입니다;모델링에는 사용되지 않으며 단지 공간에 다양한 개체들를 배열하는 데 사용됩니다. 여러 몸통과 기타 표준 부품을 단일 표준 부품 내부에 배치하여 복잡한 조립품을 만들 수 있습니다.
왼쪽: 물체의 최종 형상을 순차적으로 생성하는 특징을 보여주는 나무 보기. 오른쪽: 3D 보기에 표시되는 최종 개체.
이전 고체를 선택하지 않은 경우:
고체를 선택한 경우:
PartDesign_Body(PartDesign::Body 클래스)는 Part Feature(Part::Feature 클래스)에서 파생됩니다. 후자의 모든 속성을 공유합니다.
Part Feature에 설명된 속성 외에도 PartDesign Body는 속성 편집기에 다음과 같은 속성을 가지고 있습니다.
Base
Link): "Tip"으로 정의된 도형특징은 일반적으로 몸통에서 생성된 마지막 특징입니다. Tip은 몸통의 최종 형상을 나타내며, 보기Display Mode Body가 Tip으로 설정되었을 때 3차원 보기에 표시됩니다. 자세한 내용은 Tip을 참조하세요.Link): 몸통에서 첫 번째 특징으로 사용되는 외부 형상입니다. 일반적으로 빈 몸통에 고체를 드래그할 때 설정됩니다. 이 방법으로 고체를 가져오지 않으면 이 속성은 비어 있게 됩니다. 자세한 내용은 이 페이지의 기반특징(Base Feature)부분을 참조하세요.Placement): 3D 보기에 보이는 개체의 위치입니다.배치는 Base 점(벡터)과 Rotation(축 및 각도)에 의해 정의됩니다. Placement를 참조하세요.LinkList): 몸통의 특징이 포함된 목록입니다.Experimental
Bool): allow multiple solids in the Body.
Base
Enumeration): 두 가지 유형 중 하나로 몸통에 대한 표시 모드를 구체적으로 설정합니다.
Through(기본값)는 몸통 내부의 모든 대상체, 즉 sketch스케치, 도형특징, 기준도형 등을 노출합니다. 몸통 내부에서 수행되는 부분적인 작업을 시각화할 수 있는 모드이므로 특징을 추가하거나 편집할 때 권장되는 모드입니다. 특정 특징을 선택하고 보기Visibility를 true로 설정하거나 키보드의 Space 막대를 누릅니다.Tip은 데이터Tip 속성에 정의된 몸통의 최종 형상만 노출합니다. 스케치, 특징, 기준도형 등을 포함한 다른 모든 항목은 나무 보기에 표시되더라도 보이지 않습니다. 이 모드는 몸통을 더 이상 수정할 필요가 없어 고정된 형태로 보여지는 경우에 권장되는 모드입니다.이 모드는 다른 작업대의 도구와 함께 사용하기 위해 최종 모양의 하위 요소(꼭지점, 모서리 및 면)를 선택하려는 경우에도 권장됩니다.
열린 문서에는 여러 개의 몸통이 포함될 수 있습니다. 특정 몸통에 새로운 특징을 추가하려면 active로 설정해야 합니다. 활성 몸통은 환경 설정 편집기의 Active container 값에 의해 지정된 배경색으로 나무 보기에 표시됩니다(기본적으로 밝은 파란색).
몸통을 활성화하거나 비활성화하려면:
몸통을 활성화하면 자동으로 부품설계 작업대로 전환됩니다. 한 번에 하나의 몸통만 활성화할 수 있습니다.
두 개의 몸통이 포함된 문서이며 그 중 두 번째 몸통이 활성화되어 있습니다.
원점은 세 개의 표준 축(X, Y, Z)과 세 개의 표준 평면(XY, XZ 및 YZ)으로 구성됩니다. 스케치 및 기타 개체를 생성할 때 이러한 요소에 부착할 수 있습니다.
PartDesign Lines, PartDesign Planes 및 PartDesign CoordinateSystems와 같은 보조 기준도형을 생성할 때도 동일한 과정을 사용할 수 있습니다.
참고: 원점은 App Origin 객체(App::Origin 클래스)입이고 축과 평면은 각각 App::Line 및 App::Plane 유형의 객체입니다. 이러한 각 요소는 Space 막대를 사용하여 개별적으로 숨기거나 숨김 해제할 수 있습니다; 이는 다른 객체를 생성할 때 올바른 참조를 선택하는 데 유용합니다.
참고 2: 몸통 내부의 모든 요소는 몸통의 원점을 참조합니다. 즉, 몸통은 내부 요소의 배치에 영향을 주지 않고 전역 좌표계를 기준으로 이동 및 회전할 수 있습니다.
기반특징은 몸통이 다른 고체 형상을 기반으로 할 때 몸통의 첫 번째 도형특징입니다.
두 개의 몸통, 각각 이전에 생성된 고체에서 가져온 기반특징을 하나씩 가지고 있습니다.
이미 몸통이 있는 경우 다음과 같은 방법으로 기반특징을 생성할 수 있습니다:
기반특징은 전적으로 선택 사항입니다. 이는 몸통 외부의 객체를 포함할 때만 존재합니다. 외부 고체가 포함되지 않은 경우에도 스케치, PartDesign Pad, PartDesign_CompPrimitiveAdditive 및 기타 도형특징을 사용하여 형상을 만들 수 있습니다.
참고: 드래그 앤 드롭은 기반특징이 아직 없는 몸통에 대해서만 작동합니다.
참고 2: 몸통에 이미 여러 특징이 있는 경우 외부 고체를 끌어서 놓을 때, 기반특징은 특징 목록의 시작 부분에 생성됩니다. 즉, 데이터Group 속성의 시작 부분에 추가됩니다.
참고: 다른 몸통을 기반특징으로 선택한 경우 형상이 있어야 합니다. 만일 몸통이 비어 있으면(도형특징 없거나 기반특징이 없는 등...) 오류가 발생합니다.
끝단은 몸통 외부에 노출되는 도형특징입니다; 즉, 작업대의 다른 도구(예를 들어 Part Cut)가 몸통의 형상을 사용해야 하는 경우, 형상의 끝단을 사용합니다. 다르게 말하면, 끝단은 마치 파라메트릭 이력이 존재하지 않는 것처럼 몸통의 최종 표현입니다.
끝단은 몸통에서 생성된 마지막 특징으로 자동 설정됩니다. 그럼에도 불구하고 나무 보기 상황 메뉴(우클릭)를 열고 Set tip을 선택하여 중간 특징 중 하나로 설정할 수도 있고, 또는 속성 편집기에서 몸통의 데이터Tip 값을 변경하면 됩니다.
실제로 끝단을 변경하면 수정이력 되돌아 가므로 이전에 추가했어야 하는 특징을 추가할 수 있습니다. 또한 외부 도구에 다른 형상을 노출합니다.
두 개의 몸통, 각각 도형특징을 가집니다. 끝단은 그 중 마지막 특징이며 오버레이 기호로 표시됩니다.
기본적으로 몸통 내부의 도형특징들을 선택할 수 있는데 이는 부품설계 작업대의 도구를 사용하여 더 많은 특징을 편집하고 추가하는 데 필요하기 때문입니다. 그렇지만 부품 작업대 및 설계제도 작업대와 같은 다른 작업대의 도구와 함께 사용하기 위해 개별적으로 특징을 선택하는 것은 권장되지 않는데 예상치 못한 결과가 나올 수도 있기 때문입니다; 그런 경우 report view에 링크가 허용된 범위를 벗어났습니다라는 오류 메시지가 나타날 수 있습니다.
따라서 다른 작업대와의 상호작용을 위해서는 tree view에서 몸통 자체만 선택해야 합니다.몸통의 특정 하위 요소(꼭지점, 모서리, 면)를 선택해야 하는 경우 몸통의 보기Display Mode Body 속성을 Tip으로 전환해야 합니다. 이 모드가 활성화되면 몸통 아래의 객체(특징, 기준도형, 스케치)에 대한 접근이 비활성화되고 몸통의 끝단을 제외한 모든 항목에 대한 접근이 비활성화됩니다. 3D 보기에서 숨겨집니다.
하위 요소가 다른 작업대와 함께 사용되면 보기Display Mode Body를 Through로 다시 설정할 수 있습니다.
왼쪽: "Display Mode Body"가 Through로 설정되면 개별 특징을 선택하고 작업을 수행할 수 있습니다; 일반적으로 이는 권장되지 않습니다. 오른쪽: "Display Mode Body"가 Tip으로 설정되면 몸통에서 수행되는 모든 선택과 작업이 끝단(Tip)에서 수행되므로 몸통의 최종 모양만 노출됩니다.
몸통의 가시성은 포함된 모든 객체의 가시성을 대체합니다. 몸통이 숨겨져 있으면 그 안에 포함된 개체도 숨겨집니다. 개별 보기Visibility 속성이 true로 설정되어 있어도 마찬가지입니다.
여러 개의 스케치가 한 번에 표시될 수는 있지만 도형특징(고체)는 한 번에 하나만 표시될 수 있습니다. 숨겨진 특징을 선택하고 키보드의 Space 막대를 누르면 해당 특징이 표시되고 이전에 표시되었던 특징은 자동으로 숨겨집니다.
몸통: 여러 개의 스케치가 동시에 표시될 수 있습니다. 그러나 끝단인지 여부에 관계없이 한 번에 하나의 고체 도형특징만 표시될 수 있습니다.
도형특징은 Part_Part2DObject와 마찬가지로 다른 평면에 부착할 수 있습니다. 일반적으로 몸통의 원점 또는 사용자 정의 PartDesign Planes에 의해 정의된 표준 평면입니다.
스케치는 생성될 때 일반적으로 평면에 부착됩니다.비슷한 방식으로 PartDesign_CompPrimitiveAdditive도 부착할 수 있습니다. 이러한 개체를 평면에 연결하면 데이터Attachment Offset 속성을 변경하여 몸통 내에서 이동할 수 있습니다. 부착 모드에 대한 자세한 내용은 Part EditAttachment를 참조하세요.
몸통(PartDesign Body)는 프리캐드의 프로그램(소스코드)에서 정식으로는 PartDesign::Body 클래스의 인스턴스입니다. 그 조상은 중간의 Part::BodyBase 클래스를 거슬러 Part Feature (Part::Feature 클래스)이며 Origin 확장으로 보강되었습니다.
프로그램의 핵심 개체 간의 관계를 단순화한 다이어그램입니다. PartDesign::Body 객체는 파라메트릭 3D 고체를 구축하기 위한 것이므로 기본 Part::Feature 객체에서 파생됩니다.그리고 내부에 사용되는 기능의 배치를 제어하는 Origin이 있습니다.
참조: FreeCAD 스크립트 기초 및 scripted objects.
문서에 개체를 추가하는 방법에 대한 일반적인 정보는 Part Feature를 참조하세요.
몸통(PartDesign Body)은 문서의 addObject() 메서드를 사용하여 생성됩니다.몸통이 존재하면 이 몸통의 addObject() 또는 addObjects() 메서드를 사용하여 도형특징을 몸통에 추가할 수 있습니다.
import FreeCAD as App
doc = App.newDocument()
obj = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj.Label = "Custom label"
feat1 = App.ActiveDocument.addObject("PartDesign::AdditiveBox", "Box")
feat2 = App.ActiveDocument.addObject("PartDesign::AdditiveCylinder", "Cylinder")
obj.addObjects([feat1, feat2])
App.ActiveDocument.recompute()
다수의 몸통이 있는 문서에서는 ActiveView의 setActiveObject 메서드를 사용하여 active Body를 설정할 수 있습니다. 첫 번째 인수는 고정 문자열 "pdbody"이고, 두 번째 인수는 활성화되어야 하는 몸통 개체입니다.
import FreeCAD as App
import FreeCADGui as Gui
doc = App.newDocument()
obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
Gui.ActiveDocument.ActiveView.setActiveObject("pdbody", obj1)
App.ActiveDocument.recompute()